//
// Created by LiuYou on 2021/10/21.
//

#include <iostream>
#include <unistd.h>
#include <sys/wait.h>


int main(int argc, char** argv) {
    puts( "Begin!" );

    fflush( nullptr );
    pid_t childPid = fork();
    if (childPid < 0) {
        perror( "fork()" );
        exit( 1 );
    }
    if (childPid == 0) {
        fflush( nullptr );
//        execlp( "sleep", "sleep", "100", nullptr );
        // todo 笔记: argv[0] 这里一定要指定一个新的进程的名字。
        //  一般就是和可执行文件的名字相同或者意思相近。
        //  但是, 也可以随便指定一个名字。例如: 木马病毒可能就会这样指定一个名字让用户认为是
        //  正常的程序, 其实不是。
        execlp( "sleep", "httpd", "100", nullptr );
        perror( "execlp()" );
        exit( 1 );
    }


    waitpid( childPid, nullptr, 0 );


    puts( "End!" );
    return 0;
}
